package com.jk.smartelderlycare.service;

import com.jk.smartelderlycare.dto.SysRole;
import com.jk.smartelderlycare.dto.SysUser;
import com.jk.smartelderlycare.pojo.PagedResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @Description 添加描述
 * @Author hhk
 * @LastChangeDate 2024/11/5 15:58
 * @Version v1.0
 */
public interface SysUserService {
    /**
     * @description: 员工列表后端分页查询
     * @param: [sysUser, pageNum, pageSize]
     * @return: com.jk.smartelderlycare.pojo.PagedResponse<com.jk.smartelderlycare.dto.SysUser>
     * @author hhk
     * @date: 2024/11/5 16:00
     */
    public PagedResponse<SysUser> findSysUserPaginationList(SysUser sysUser, Integer pageNum, Integer pageSize);
    /**
     * @description: 新增员工列表
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/5 16:01
     */
    public void addSysUser(SysUser sysUser);
    /**
     * @description: 根据id删除一条数据
     * @param: [userId]
     * @return: void
     * @author hhk
     * @date: 2024/11/5 16:02
     */
    public void deleteSysUserByUserId(Long userId);
    /**
     * @description: 根据id回显一条数据
     * @param: [id]
     * @return: com.jk.smartelderlycare.dto.SysUser
     * @author hhk
     * @date: 2024/11/5 16:05
     */
    public SysUser findSysUserByUserId(Long userId);

    /**
     * @description: 修改员工列表
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/5 16:01
     */
    public void updateSysUser(SysUser sysUser);
    /** 
     * @description: 通过用户名获得用户信息
     * @param: [username]
     * @return: com.jk.smartelderlycare.dto.SysUser
     * @author hhk
     * @date: 2024/11/6 16:17
     */ 
    public SysUser findSysUserByUserName(String username);
    /** 
     * @description: 状态修改
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/6 20:28
     */ 
   public void updateStatusById(SysUser sysUser);
   /** 
    * @description: 角色动态下拉列表查询
    * @param: [sysRole]
    * @return: java.util.List<com.jk.smartelderlycare.dto.SysRole>
    * @author hhk
    * @date: 2024/11/6 20:38
    */ 
    public List<SysRole> findSysRoleList();

    /**
     * @description: 根据当前登陆人id查询
     * @param: [username]
     * @return: com.jk.smartelderlycare.dto.SysUser
     * @author hhk
     * @date: 2024/11/11 10:02
     */
    public List<SysUser> getSysUserByUsername(SysUser sysUser);

    /**
     * @description: 修改密码
     * @param: [sysUser]
     * @return: com.jk.smartelderlycare.dto.SysUser
     * @author hhk
     * @date: 2024/11/11 11:00
     */

    public void upSysUserByPassWord(SysUser sysUser);

    /**
     * @description: 角色表单表修改
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/12 10:53
     */

    public void uptSysUser(SysUser sysUser);

    /**
     * @description: 角色表新增
     * @param: [sysRole]
     * @return: void
     * @author hhk
     * @date: 2024/11/12 20:37
     */

    public void addSysRole(SysRole sysRole);
}
